﻿using AbpMvc.Demo.Categories;
using System;
using System.Threading.Tasks;
using Volo.Abp.Application.Dtos;
using Volo.Abp.Application.Services;

namespace AbpMvc.Demo.Products
{
    public interface IProductService : IApplicationService
    {
        Task<PagedResultDto<ProductDto>> GetListAsync(PagedAndSortedResultRequestDto input);
        Task CreateAsync(CreateOrUpdateProductDto input);
        Task<ListResultDto<CategoryLookupDto>> GetCategoriesAsync();

        Task UpdateAsync(Guid id, CreateOrUpdateProductDto input);
        Task<ProductDto> GetAsync(Guid id);

        Task DeleteAsync(Guid id);
    }
}
